home *** CD-ROM | disk | FTP | other *** search
- #include "substdio.h"
- #include "subfd.h"
- #include "fmt.h"
- #include "select.h"
- #include "exit.h"
- #include "auto_spawn.h"
-
- char num[FMT_ULONG];
- fd_set fds;
-
- void main()
- {
- unsigned long hiddenlimit;
- unsigned long maxnumd;
-
- hiddenlimit = sizeof(fds) * 8;
- maxnumd = (hiddenlimit - 5) / 2;
-
- if (auto_spawn < 1) {
- substdio_puts(subfderr,"Oops. You have set conf-spawn lower than 1.\n");
- substdio_flush(subfderr);
- _exit(1);
- }
-
- if (auto_spawn > 255) {
- substdio_puts(subfderr,"Oops. You have set conf-spawn higher than 255.\n");
- substdio_flush(subfderr);
- _exit(1);
- }
-
- if (auto_spawn > maxnumd) {
- substdio_puts(subfderr,"Oops. Your system's FD_SET() has a hidden limit of ");
- substdio_put(subfderr,num,fmt_ulong(num,hiddenlimit));
- substdio_puts(subfderr," descriptors.\n\
- This means that the qmail daemons could crash if you set the run-time\n\
- concurrency higher than ");
- substdio_put(subfderr,num,fmt_ulong(num,maxnumd));
- substdio_puts(subfderr,". So I'm going to insist that the concurrency\n\
- limit in conf-spawn be at most ");
- substdio_put(subfderr,num,fmt_ulong(num,maxnumd));
- substdio_puts(subfderr,". Right now it's ");
- substdio_put(subfderr,num,fmt_ulong(num,(unsigned long) auto_spawn));
- substdio_puts(subfderr,".\n");
- substdio_flush(subfderr);
- _exit(1);
- }
- _exit(0);
- }
-